#include <iostream>
#include <queue>
#include <map>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <set>
#include <unordered_set>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
const int N=2e5+10;
int a[N];
int q[N];
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(int i=3;i<=n;i++)
	{
		q[i-2]=q[i-3];
		if(a[i]<=a[i-1] && a[i-2]>=a[i-1]) q[i-2]++;
	}
	q[n-1]=q[n-2];
	q[n]=q[n-1];
//	for(int i=1;i<=n;i++) cout<<q[i]<<' ';
//	cout<<endl;
	while(m--)
	{
		int l,r;
		cin>>l>>r;
		if(l==r) 
		{
			cout<<1<<endl;continue;
		}
		cout<<(r-l+1)-(q[r-2]-q[l-1])<<endl;
	}

	return 0;
}

